﻿// Колесов 
using System;
using ComLaoBase;

namespace Transfer
{
    /// <summary> Доступ к журналу заказов ИС-ПРО
    /// </summary>
    public class LaoJournal
    {
        LAOBase _laoJrn;

        public LaoJournal()
        {
            _laoJrn = LAO_DB.Open("TJRObj", "Index_2");
        }
        public void Close()
        {
            _laoJrn.Close();
        }

        /// <summary> По заданному коду журнала и коду документа определяется Rcd журнала.
        /// Если журнала нет - возвращает ноль.
        /// </summary>
        /// <param name="jrn_code"></param>
        /// <returns></returns>
        public Int32 GetRcdByCode(string jrn_code, CdDoc cddoc)
        {
            CdBpr cdbpr;
            switch (cddoc)
            {
                case CdDoc.IncomBill:
                    cdbpr = CdBpr.Buying;
                    break;
                case CdDoc.ReversIncomBill:
                    cdbpr = CdBpr.Buying;
                    break;
                case CdDoc.OutcomBill:
                    cdbpr = CdBpr.Salling;
                    break;
                case CdDoc.ReversOutcomBill:
                    cdbpr = CdBpr.Salling;
                    break;
                default:
                    cdbpr = CdBpr.Salling;
                    break;
            }
        
            Int32 rcd = 0;
            jrn_code = jrn_code.Trim().PadLeft(8, ' ');  // Исправляем ошибку в LAO
            if (_laoJrn.Find(3, cdbpr, cddoc, jrn_code, 0, 0, 0, 0, 0, 0, 0))
                rcd = _laoJrn.GetInteger("Rcd");
            return rcd;
        }
    }
}
